In many computing systems, low level instruction code is used as an intermediary between the hardware components of the computing system and the operating software and other high level software executed on the computing system. This low level instruction code is known as the computer Basic Input and Output System (“BIOS”). The BIOS provides a set of software routines that allow high level software to interact with the hardware components of the computing system using standard calls.
In many computer systems, the BIOS also provides a number of other optional features that serve to enhance the capabilities of the computer system. One such feature provided by some BIOS manufacturers, is a feature for redirecting the video output of a computer system to a remote terminal via a standard RS-232 serial port. Keyboard input can also be received from the remote terminal and processed by the computer system as if it was generated by a locally connected keyboard. This feature, known as “serial redirection” or “console redirection,” is commonly used on “headless” systems that run without the need for a video display adapter or keyboard.
One challenge with providing console redirection capabilities is ensuring that an incompatible device is not connected to the serial port of the host computer for which console redirection is configured. If an incompatible device, such as a mouse input device, a modem, or a serial loopback device, is installed on the communications port that has been configured for console redirection, the BIOS may fail during a power-on self test (“POST”) procedure. In some cases, this failure can cause the entire computer system to crash at boot time. Not only is this very frustrating for a system administrator, but the problem can be very difficult and time consuming to diagnose and resolve. It is with respect to these considerations and others that the present invention has been made.